package event
{
	import flash.events.Event;
	
	import mx.utils.ObjectProxy;
	
	/**
	 * Event Class to be of any type - the property data can be filled with any data.
	 *  
	 * @author jbaeck
	 * 
	 */
	public class BaseEvent extends Event
	{
		
		protected var m_data:Object = new Object();
		
		public function BaseEvent(type:String,data:Object = null,bubbles:Boolean = false, cancelable:Boolean = false)
		{
			super(type,bubbles,cancelable);
			if(data != null)
				this.data = data;
		}
				
		
		public function get data():Object
		{
			return m_data;
		}
		
		public function set data(data:Object):void
		{
			m_data = data;
		}
		
		override public function clone():Event
		{
			return new BaseEvent(this.type,data,this.bubbles,this.cancelable);
		}
		

	}
}